home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 42 / Amiga Format AFCD42 (Issue 126, Aug 1999).iso / -serious- / sound / scope_xt4 / src / startup_nocheck.i < prev   
Text File  |  1999-05-14  |  1KB  |  75 lines

  1.  
  2.     move.l    (4).w,a6
  3.     move.l    (378,a6),a0        ;LibList
  4.     lea    (gfxnam,pc),a1
  5.     CALL    FindName
  6.     move.l    d0,(gfxbase)
  7.     move.l    d0,a6
  8.     move.l    (34,a6),(wbview)    ;save old view
  9.     sub.l    a1,a1
  10.     CALL    LoadView
  11.     CALL    WaitTOF
  12.     CALL    WaitTOF
  13.     CALL    OwnBlitter        ;grab blitter
  14.     CALL    WaitBlit
  15.  
  16.     CALLEXEC Disable
  17.     lea    (vbr_ex,pc),a5
  18.     CALL    SuperVisor
  19.     bra.b    vbr_ok
  20. vbr_ex    movec    vbr,d0
  21.     move.l    d0,(mainvbr)
  22.     rte
  23. vbr_ok
  24.     lea    ($dff000),a5
  25.     move    (intenar,a5),(oldint)    ;save hardware state
  26.     move    (dmaconr,a5),(olddma)
  27.     move    #$7fff,d0        ;disable everything
  28.     move    d0,(dmacon,a5)
  29.     move    d0,(intena,a5)
  30.     move    d0,(intreq,a5)
  31.     move.l    (mainvbr,pc),a0
  32.     move.l    ($68,a0),oldlevel2
  33.     move.l    ($6c,a0),oldlevel3
  34.     move.l    ($78,a0),oldlevel6
  35.  
  36.  
  37.     bsr    main            ;do the program!
  38.  
  39.  
  40.     lea    ($dff000),a5
  41.     move    #$7fff,d0        ;disable everything
  42.     move    d0,(dmacon,a5)
  43.     move    d0,(intena,a5)
  44.     move    d0,(intreq,a5)
  45.     move.l    (mainvbr,pc),a0
  46.     move.l    (oldlevel3,pc),($6c,a0)    ;restore interrupt vectors
  47.     move.l    (oldlevel2,pc),($68,a0)
  48.     move.l    (oldlevel6,pc),($78,a0)
  49.     move    (oldint,pc),d0
  50.     or    #$8000,d0
  51.     move    d0,(intena,a5)        ;restore hardware state
  52.     move    (olddma,pc),d0
  53.     or    #$8000,d0
  54.     move    d0,(dmacon,a5)
  55.     CALLEXEC Enable
  56.  
  57.     move.l    (wbview,pc),a1        ;restore display
  58.     CALLGFX    LoadView
  59.     move.l    (38,a6),($dff000+cop1lch)
  60.     CALL    DisOwnBlitter        ;release blitter
  61.  
  62.     moveq    #0,d0
  63.     rts
  64.  
  65.  
  66. oldlevel2    dc.l    0
  67. oldlevel3    dc.l    0
  68. oldlevel6    dc.l    0
  69. wbview        dc.l    0
  70. oldint        dc    0
  71. olddma        dc    0
  72. mainvbr        dc.l    0
  73. gfxnam        dc.b    "graphics.library",0,0
  74. gfxbase        dc.l    0
  75.